package model;

import java.util.List;

import DTO.StationDTO;

/**
 * This is an interface that provides a complete business transactions with 
 * an entity of Station
 */
public interface Station {

	/**
	 * This method checks if there is a station in DB which has the same 
	 * DTO implementation as the given DTO. If it is NOT found in DB, method 
	 * creates a new Station entity from DTO and saves it.
	 * 
	 * @param stationDTO - DTO of station which is required to be saved
	
	 */
	public void saveUniqueStation(StationDTO stationDTO);
	
	/**
	 * This method checks if there is a station in DB which has the same 
	 * DTO implementation as given DTO. If it is found in DB, method 
	 * removes it.
	 * 
	 * @param stationDTO - DTO of station which is required to be removed
	
	 */
	public void removeUniqueStation(StationDTO stationDTO);
	
	/**
	 * Method looks for all the Station entities in DB.
	 * 
	 * @return	- List of all Station entities in DB or null if there is no
	 * 			  station in DB.
	 */
	public List<model.impl.Station> findAll();
}
